﻿using System;
using Myotragus.Data.Containers;
using Myotragus.Data.Domain;

namespace Myotragus.Data.Metadata
{
	public class DefaultsLocalizableEntityDescriptor<TEntity> :
		LocalizableEntityDescriptor<TEntity>,
		IDefaultsLocalizableEntityDescriptor<TEntity>
		where TEntity : IEntity
	{
		protected static readonly Type TypeOfIDefaultsSaveEntity = typeof(IDefaultsSaveEntity<TEntity>);
		protected static readonly Type TypeOfIDefaultsLoadEntity = typeof(IDefaultsLoadEntity<TEntity>);

		public DefaultsLocalizableEntityDescriptor(IEntitiesContainer entities, 
			ILocalizableEntityMapping mapping)
			: base(mapping, entities.ResolveType(TypeOfIDefaultsSaveEntity), 
				entities.ResolveType(TypeOfIDefaultsLoadEntity))
		{
		}
	}
}